package passme.topcoder.plugin;

import com.topcoder.client.contestant.ProblemComponentModel;
import com.topcoder.client.contestant.ProblemModel;
import com.topcoder.netCommon.contestantMessages.response.data.ComponentChallengeData;
import com.topcoder.shared.problem.Constraint;
import com.topcoder.shared.problem.DataType;
import com.topcoder.shared.problem.Element;
import com.topcoder.shared.problem.ProblemComponent;
import com.topcoder.shared.problem.TestCase;

public class MockProblemComponentModel implements ProblemComponentModel{

	@Override
	public String getClassName() {
		return "WriteTester";
	}

	@Override
	public ProblemComponent getComponent() {
		return null;
	}

	@Override
	public ComponentChallengeData getComponentChallengeData() {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public Integer getComponentTypeID() {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public Constraint[] getConstraints() {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public String getDefaultSolution() {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public Long getID() {
		return 235814L;
		// TODO Auto-generated method stub
	}

	@Override
	public Element getIntro() {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public String getMethodName() {
		// TODO Auto-generated method stub
		return "Rewrite";
	}

	@Override
	public Element[] getNotes() {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public String[] getParamNames() {
		// TODO Auto-generated method stub
		return new String[] {"iamparam1", "iamparam2"};
	}

	@Override
	public DataType[] getParamTypes() {
		// TODO Auto-generated method stub

		return new DataType[] {new DataType("type1"), new DataType("type2")};
	}

	@Override
	public Double getPoints() {
		// TODO Auto-generated method stub
		return 250.;
	}

	@Override
	public ProblemModel getProblem() {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public DataType getReturnType() {
		// TODO Auto-generated method stub
		return new DataType("String");
	}

	@Override
	public Element getSpec() {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public TestCase[] getTestCases() {
		TestCase test1 = new TestCase(new String[] {"data1", "data1"}, "result", true);
		TestCase test2 = new TestCase(new String[] {"data2", "data2"}, "result", true);


		return new TestCase[] {test1, test2};
	}

	@Override
	public boolean hasConstraints() {
		// TODO Auto-generated method stub
		return false;
	}

	@Override
	public boolean hasDefaultSolution() {
		// TODO Auto-generated method stub
		return false;
	}

	@Override
	public boolean hasIntro() {
		// TODO Auto-generated method stub
		return false;
	}

	@Override
	public boolean hasNotes() {
		// TODO Auto-generated method stub
		return false;
	}

	@Override
	public boolean hasSignature() {
		// TODO Auto-generated method stub
		return true;
	}

	@Override
	public boolean hasSpec() {
		// TODO Auto-generated method stub
		return false;
	}

	@Override
	public boolean hasStatement() {
		// TODO Auto-generated method stub
		return false;
	}

	@Override
	public boolean hasTestCases() {
		// TODO Auto-generated method stub
		return true;
	}

}
